home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / cross / ava-0.2.5.lha / ava-0.2.5 / avalib / avr / 2323def.inc < prev    next >
Encoding:
Text File  |  1999-03-23  |  2.5 KB  |  118 lines

  1. ;***************************************************************************
  2. ;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
  3. ;* 
  4. ;* Number        :AVR000
  5. ;* File Name        :"2323def.inc"
  6. ;* Title        :Register/Bit Definitions for the AT90S2323
  7. ;* Date             :98.05.22
  8. ;* Version        :1.22JB
  9. ;* Target MCU        :AT90S2323
  10. ;*
  11. ;* DESCRIPTION
  12. ;* When including this file in the assembly program file, all I/O register
  13. ;* names and I/O register bit names appearing in the data book can be used.
  14. ;* 
  15. ;* The Register names are represented by their hexadecimal addresses.
  16. ;* 
  17. ;* The Register Bit names are represented by their bit number (0-7).
  18. ;* 
  19. ;* Please observe the difference in using the bit names with instructions
  20. ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
  21. ;* (skip if bit in register set/cleared). The following example illustrates
  22. ;* this:
  23. ;* 
  24. ;* in    r16,PORTB        ;read PORTB latch
  25. ;* sbr    r16,(1<<PB6)+(1<<PB5)    ;set PB6 and PB5 (use masks, not bit#)
  26. ;* out  PORTB,r16        ;output to PORTB
  27. ;*
  28. ;* in    r16,TIFR        ;read the Timer Interrupt Flag Register
  29. ;* sbrc    r16,TOV0        ;test the overflow flag (use bit#)
  30. ;* rjmp    TOV0_is_set        ;jump if set
  31. ;* ...                ;otherwise do something else
  32. ;***************************************************************************
  33.  
  34. ;***** I/O Register Definitions
  35. #define    SREG     $3f
  36. #define    SPL     $3d
  37. #define    GIMSK     $3b
  38. #define    GIFR     $3a
  39. #define    TIMSK     $39
  40. #define    TIFR     $38
  41. #define    MCUCR     $35
  42. #define    MCUSR     $34
  43. #define    TCCR0     $33
  44. #define    TCNT0     $32
  45. #define    WDTCR     $21
  46. #define    EEAR     $1e
  47. #define    EEARL     $1e
  48. #define    EEDR     $1d
  49. #define    EECR     $1c
  50. #define    PORTB     $18
  51. #define    DDRB     $17
  52. #define    PINB     $16
  53.  
  54. ;***** Bit Definitions
  55.  
  56. #define    EXTRF     1
  57. #define    PORF     0
  58.  
  59. #define    INT0     6
  60. #define    INTF0     6
  61.  
  62. #define    TOIE0     1
  63. #define    TOV0     1
  64.  
  65. #define    SE     5
  66. #define    SM     4
  67. #define    ISC01     1
  68. #define    ISC00     0
  69.  
  70. #define    CS02     2
  71. #define    CS01     1
  72. #define    CS00     0
  73.  
  74. #define    WDTOE     4
  75. #define    WDE     3
  76. #define    WDP2     2
  77. #define    WDP1     1
  78. #define    WDP0     0
  79.  
  80. #define    EEMWE     2
  81. #define    EEWE     1
  82. #define    EERE     0
  83.  
  84. #define    PB4     4
  85. #define    PB3     3
  86. #define    PB2     2
  87. #define    PB1     1
  88. #define    PB0     0
  89.  
  90. #define    DDB4     4
  91. #define    DDB3     3
  92. #define    DDB2     2
  93. #define    DDB1     1
  94. #define    DDB0     0
  95.  
  96. #define    PINB4     4
  97. #define    PINB3     3
  98. #define    PINB2     2
  99. #define    PINB1     1
  100. #define    PINB0     0
  101.  
  102. #define    XL     r26
  103. #define    XH     r27
  104. #define    YL     r28
  105. #define    YH     r29
  106. #define    ZL     r30
  107. #define    ZH     r31
  108.  
  109. #define RAMEND   $DF    ;Last On-Chip SRAM Location
  110. #define    XRAMEND  $DF
  111. #define    E2END     $7F
  112. #define    FLASHEND $3FF
  113.  
  114.  
  115. #define    INT0addr $001    ;External Interrupt0 Vector Address
  116. #define    OVF0addr $002    ;Overflow0 Interrupt Vector Address
  117.  
  118.